1. Field of the Invention
The present invention relates to a method for creating, modifying, and terminating associations between Internet end systems, particularly, but not exclusively, in connection with Internet telephony communication. The method is particularly contemplated for use in a client-server architecture on the Internet. In addition, the method is particularly contemplated for use in Internet telephony communication so as to provide relatively advanced telephony services, beyond call construction and destruction, such as call forwarding and transfer, call holding, camp-on queuing, and also three or more party conferencing.
2. Background of the Invention
Internet telephony, or, simply, the use of the Internet for telephone-like multimedia communication is becoming increasingly common, especially with increased home and office access to the Internet. However, in order to become as versatile as conventional telephone communication (i.e., in a public switched telephone network, or PSTN), Internet telephony must be able to offer comparable, or even improved service functionality.
In conventional telephone communication, a first party indicates to a second party that a connection is sought by simply dialing the second party's telephone number (which is, in effect, an “address” as discussed hereinbelow), whereby the second party's telephone rings to indicate that the first party is calling (i.e., trying to establish a connection for communicating). In most cases, the signaling (i.e., the telephone ringing) is tied to an attempt to establish a telephone connection (i.e., a ringing telephone indicates an attempt at a connection between the caller's telephone and the ringing telephone).
In Internet telephony, therefore, a first party must also have a corresponding way to locate a second party and signal the first party's desire to communicate. This functionality is generally known as “Internet telephony signaling” and is generally enabled by the use of one or more commonly used protocols, such as the Session Initiation Protocol (“SIP”).
Internet telephony signaling functionality may include several functions, generally, such as:                name translation and location: mapping between names at different levels of abstraction (e.g., a common name at a particular Internet domain, and an individual user name at a particular Internet host);        feature negotiation: allowing end systems to agree on what media to exchange and their respective parameters, such as encodings (which need not be uniform within a call, as different point-to-point sessions may involve different media and media parameters);        call participant management: allowing any call participant to invite others into an existing call and terminate associations with some (including transferring and holding other callers); and        feature changes: allowing adjustment of the composition of media sessions during the course of the call (e.g., if call participants require more or less functionality, or if constraints are added or removed by the addition or removal of call participants over the course of a call).        
It is important to note that the foregoing functions may be addressed by more than one protocol. For example, H.323 (another common protocol) may be used to establish sessions between an end system and a gateway, whereas SIP may be used for gateway-to-gateway signaling.